natural deduction metalanguage, practical foundations
type theory (dependent, intensional, observational type theory, homotopy type theory)
computational trinitarianism =
propositions as types +programs as proofs +relation type theory/category theory
basic constructions:
strong axioms
further
Historically, there have been foundations which do not take the notion of set to be the fundamental notion. These include preset theories over first order logic such as certain presentations of SEAR, as well as type theories like MLTT and cubical type theory. In such theories, there have been multiple proposed definitions of what a set should be. These include:
In homotopy type theory (and more generally in any intensional type theory), all these definitions are valid, but they lead to different structures which behave differently from each other. This article is dedicated to distinguishing between the different set-like structures which have popped up throughout history, in the context of homotopy type theory.
A proposition is a type such that for all elements and there is an element . An h-set is a type where every identity type is an proposition for all elements and .
We take the approach in CapriottiKraus17 in defining a graph to be a type with a type family indexed by elements and . While not defined in CapriottiKraus17, we could continue to borrow from graph theory terminology and call the type family the edge type family of a graph.
The edge type family is
transitive if it comes with a family of functions
symmetric if it comes with a family of functions
reflexive if it comes with a family of elements
The graph is similarly called
transitive if its edge type family is transitive
symmetric if its edge type family is symmetric
reflexive if its edge type family is reflexive
In analogy with similar concepts in category theory (wild category, precategory, strict category, and univalent category), we define the following:
A wild set is a reflexive, symmetric, transitive graph.
A preset is a wild set whose hom-types are h-propositions. This is the same as a type with an equivalence relation. Note that “preset” used here is different from the notion of preset in preset theories like SEAR without equality, which correspond more to bare types in homotopy type theory.
A strict set or strict preset is a preset whose object type is also an h-set.
A univalent set is a preset which satisfies the Rezk completion condition
Univalent sets are the same as h-sets, and so they are typically just called sets.
We do the same for the notion of setoids/Bishop set:
A wild setoid is the same as a wild set, a reflexive, symmetric, transitive graph. These are the setoids/Bishop sets talked about in general intensional type theory.
A presetoid is a wild setoid whose hom-types are h-sets. This is the same as a type with a pseudo-equivalence relation.
A strict setoid is a presetoid whose object type is also an h-set. These are the setoids/Bishop sets talked about in set-level foundations.
A univalent setoid is a presetoid which satisfies the Rezk completion condition
where are the hom-sets of the core pregroupoid of the presetoid.
We begin with wild sets
An extensional function between two wild sets consists of a function and for each object and a function .
The identity function is an extensional function which consists of the identity function for all elements and , the identity function .
The composition of extensional functions and is defined as
and for all objects and ,
We naively copy the set-theoretic definitions of injection, surjection, and bijection over to type theory
An extensional function is a injection if for all elements the type of elements with a witness is a subsingleton.
An extensional function is a surjection if for all elements the type of elements with a witness is inhabited.
An extensional function is a bijection if for all elements the type of elements with a witness is a singleton.
We also naively copy the categorical-theoretic definition of isomorphism over to type theory
An extensional function is an isomorphism if there exist an extensional function with witnesses
An extensional function is an equivalence if the function is an equivalence of types and for all elements and the function is an equivalence of types.
The only notion of wild sets for which the set-theoretic notions of bijection, isomorphism, and equivalence are all the same is an h-set: a transitive, reflexive, and symmetric graph whose hom-types are propositionally truncated, and which satisfy the Rezk completion condition
Isomorphism and equivalence of wild sets are the same only when both the object type and the hom-types are h-sets. Bijection and equivalence of wild sets are the same only in the presence of the Rezk completion condition on the structure. Combined with the requirement that the object type is an h-set, this automatically means that the hom-types are h-propositions, which makes the entire structure an h-set.
This is why h-sets are simply called sets in homotopy type theory and more generally in intensional type theory.
For a similar phenomenon in defining preorders and posets, see
And for defining a category in homotopy type theory, see
Errett Bishop, Foundations of Constructive Analysis. New York: McGraw-Hill (1967)
Erik Palmgren, Bishop’s set theory (2005) (pdf)
Paolo Capriotti, Nicolai Kraus, Univalent Higher Categories via Complete Semi-Segal Types (arXiv:1707.03693)
Last revised on September 26, 2022 at 19:40:49. See the history of this page for a list of all contributions to it.